//-----------------------------------------------------------------------------
// Name: BulletManager.cpp
// Auth: Dante Ratto, Robert Darty, & Paul Godfrey
// Desc: Keeps a list of Bullets
//-----------------------------------------------------------------------------

#ifndef _BULLETMANAGER_
#define _BULLETMANAGER_

#include "SharedConstants.h"
#include "Bullet.h"

#include <list>

using std::list;

//-----------------------------------------------------------------------------
// cBulletManager:
//-----------------------------------------------------------------------------
class cBulletManager
{
public:
	// Constructors:
	cBulletManager();			
	~cBulletManager();

	list<cBullet> liBullets;
	list<cBullet>::iterator itBul;	

	// cBulletManager Methods:
	
	//-----------------------------------------------------------------------------
	void addBullet(float, float, float, float, float, int);
	// Desc: Adds a bullet to manager
	
	//-----------------------------------------------------------------------------
	void addShotBullet(float, float, float, float, float, int);
	// Desc: Adds shotgun bullets to manager
	
	//-----------------------------------------------------------------------------
	void addVaccineBullet(float, float, float, float, float, int);
	// Desc: Adds vaccination bullet to manager
	
	//-----------------------------------------------------------------------------
	void removeBullet();
	// Desc: Removes bullet form manager
	 
	//-----------------------------------------------------------------------------
	void updateBullets(float);
	// Desc: Updates bullet locations

	list<cBullet>* GetBulletList();
	list<cBullet>::iterator* GetBulletIter();
};

//-----------------------------------------------------------------------------
// Functions:
//-----------------------------------------------------------------------------
cBulletManager* GetBulletManager();
#endif